<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../vue.js"></script>
  </head>
  <body>
    <div id="app">
      <form action="###">
        <!-- 
          .lazy修饰符:
            - 本身v-model本质是input事件(表单只要改变)就会触发。
            - 当给v-model添加.lazy修饰符后,就会把本质的input事件改为change事件。(表单改变并失去焦点触发)
          
          .number修饰符
            - 本身v-model收集输入框的内容都是字符串。
            - 如果添加上.number修饰符后,就会尽量把输入的内容转为数字,类似于parseFloat(但是如果真无法转数字的话,不会转为NaN,而是被迫收集字符串了)。
          
          .trim修饰符
            - 收集表单数据的时候去掉前后的空格。
          -->
        <p>请输入用户名: <input type="text" v-model.lazy.trim="username" /></p>
        <p>请输入年龄: <input type="text" v-model.number="age" /></p>
      </form>
    </div>
    <script>
      Vue.config.productionTip = false;
      const vm = new Vue({
        el: "#app",
        data() {
          return {
            username: "peter",
            age: 100,
          };
        },
      });
    </script>
  </body>
</html>
